<HTML>
<HEAD>
<meta charset="UTF-8">
<title>VideoCaptureSource - amazon-chime-sdk</title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">amazon-chime-sdk</a>&nbsp;/&nbsp;<a href="../index.html">com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture</a>&nbsp;/&nbsp;<a href="./index.html">VideoCaptureSource</a><br/>
<br/>
<h1>VideoCaptureSource</h1>
<code><span class="keyword">interface </span><span class="identifier">VideoCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-source/index.html"><span class="identifier">VideoSource</span></a></code>
<p><a href="./index.html">VideoCaptureSource</a> is an interface for various video capture sources (i.e. screen, camera, file) which can emit <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-frame/index.html">VideoFrame</a> objects
All the APIs here can be called regardless of whether the <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo/-audio-video-facade.html">AudioVideoFacade</a> is started or not.</p>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="add-capture-source-observer.html">addCaptureSourceObserver</a></h4>
</td>
<td>
<p>Add a capture source observer to receive callbacks from the source on lifecycle events
which can be used to trigger UI. This observer is entirely optional.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addCaptureSourceObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.VideoCaptureSource$addCaptureSourceObserver(com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.CaptureSourceObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-capture-source-observer/index.html"><span class="identifier">CaptureSourceObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="remove-capture-source-observer.html">removeCaptureSourceObserver</a></h4>
</td>
<td>
<p>Remove a capture source observer</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">removeCaptureSourceObserver</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.VideoCaptureSource$removeCaptureSourceObserver(com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.CaptureSourceObserver)/observer">observer</span><span class="symbol">:</span>&nbsp;<a href="../-capture-source-observer/index.html"><span class="identifier">CaptureSourceObserver</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="set-max-resolution.html">setMaxResolution</a></h4>
</td>
<td>
<p>Set max resolution for video capture source
DefaultCameraCaptureSource and DefaultScreenCaptureSource call this function to set max resolution for camera and screen capture</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">setMaxResolution</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.VideoCaptureSource$setMaxResolution(com.amazonaws.services.chime.sdk.meetings.audiovideo.video.VideoResolution)/maxResolution">maxResolution</span><span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-resolution/index.html"><span class="identifier">VideoResolution</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="start.html">start</a></h4>
</td>
<td>
<p>Start capturing on this source and emitting video frames</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="stop.html">stop</a></h4>
</td>
<td>
<p>Stop capturing on this source and cease emitting video frames</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
</tbody>
</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="../-camera-capture-source/index.html">CameraCaptureSource</a></h4>
</td>
<td>
<p><a href="../-camera-capture-source/index.html">CameraCaptureSource</a> is an interface for camera capture sources with additional features
not covered by <a href="./index.html">VideoCaptureSource</a>.</p>
<code><span class="keyword">interface </span><span class="identifier">CameraCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">VideoCaptureSource</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../-default-screen-capture-source/index.html">DefaultScreenCaptureSource</a></h4>
</td>
<td>
<p><a href="../-default-screen-capture-source/index.html">DefaultScreenCaptureSource</a> uses <a href="https://developer.android.com/reference/android/media/projection/MediaProjection.html">MediaProjection</a> to create a <a href="https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html">VirtualDisplay</a> to capture the
device screen. It will render the captured frames to a <a href="https://developer.android.com/reference/android/view/Surface.html">Surface</a> provided by a <a href="../-surface-texture-capture-source-factory/index.html">SurfaceTextureCaptureSourceFactory</a>.</p>
<code><span class="keyword">class </span><span class="identifier">DefaultScreenCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">VideoCaptureSource</span></a><span class="symbol">, </span><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-sink/index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../-surface-texture-capture-source/index.html">SurfaceTextureCaptureSource</a></h4>
</td>
<td>
<p><a href="../-surface-texture-capture-source/index.html">SurfaceTextureCaptureSource</a> provides a <a href="https://developer.android.com/reference/android/view/Surface.html">Surface</a> which can be passed to system sources like the camera.
Upon <a href="start.html">start</a> call, the source will listen to the surface and emit any new images as <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-frame/index.html">VideoFrame</a> objects to any
downstream <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-sink/index.html">VideoSink</a> interfaces. This class is mostly intended for composition within <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video/-video-source/index.html">VideoSource</a> implementations which will
pass the created <a href="https://developer.android.com/reference/android/view/Surface.html">Surface</a> to a system source, then call <a href="#">addVideoSink</a> to receive the frames before transforming and
passing downstream.</p>
<code><span class="keyword">interface </span><span class="identifier">SurfaceTextureCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">VideoCaptureSource</span></a></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>
